home *** CD-ROM | disk | FTP | other *** search
- 10 IFA>0THEN40
- 20 POKE55,255:POKE56,63:POKE51,255:POKE52,63:CLR
- 30 A=A+1:PRINT"LOADING SPRITES":LOAD"SPRITE FILE 1",8,1
- 40 IFA>1THEN60
- 50 A=A+1:PRINT"LOADING M/CODE ":LOAD"ANIMATE.MC",8,1
- 60 IFA>2THEN90
- 70 SYS 50222:REM CLEAR BIT MAP MEMORY AND HIRES CHARACTER MEMORY
- 80 A=A+1:PRINT"LOADING HIRES CH":LOAD"TEST1 .ANM",8,1
- 90 GOSUB 820:REM VARIABLES
- 100 SYSCLS:SYSCMEM:SYSSBANK:SYSSCHBASE
- 110 POKE53265,PEEK(53265)OR32:REM HIRES BIT MAP MODE
- 120 IFPEEK(MULTI)=1THENPOKE53270,PEEK(53270)OR16:REM MULTICOLOUR
- 130 POKE24568,0:POKE24569,8:REM SPRITE POINTERS
- 140 POKE53276,PEEK(53276)OR3:REM MULTI COLOUR SPRITE
- 150 POKE53287,10:POKE53285,12:POKE53286,5:POKE53288,0:REM SPRITE COLOUR
- 160 POKE53248,100:POKE53249,50:REM X,Y CO-ORDINATES
- 170 POKE53264,PEEK(53264)OR1:REM MSB OF SPRITE 0
- 180 POKE53269,PEEK(53269)OR3:REM SWITCH ON SPRITES
- 190 SYSINIT:REM SET UP HIRES FIGURE ON SCREEN
- 200 SC=0:DB=0
- 210 POKEMODE,108:SYSANIM
- 220 REM MAIN LOOP
- 230 FORN=0TO320
- 240 SX=SX-1
- 250 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760
- 260 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1
- 270 IF DB=0THENSC=SC+1
- 280 IF DB=1THENSC=SC-1
- 290 IF SC=0THENDB=0
- 300 IF SC=7THENDB=1
- 310 POKE53248,SX:POKE24568,SC
- 320 NEXTN
- 330 POKE53269,0:SYSAOFF
- 340 POKECB,96:POKECT,128:SYSWIPE
- 350 POKE MULTI,1:POKEABASE,0:POKEABASE+1,96
- 360 K=60
- 370 X=1/(null):P=0
- 380 A=1/SQR(5)
- 390 FORN=1 TO 1000
- 400 Y=X-.5:X=X+A-INT(X+A)
- 410 P=P-Y
- 420 XX=X*319:YY=100-P*K:CC=INT(RND(1)*3+1)
- 430 XX=2*INT(XX/2):XH=INT(XX/256):XL=XX-(XH*256)
- 440 POKECOLOUR,CC:POKEHX,XL:POKEHX+1,XH:POKEHY,YY
- 450 SYSPLOT
- 460 NEXTN
- 470 POKE MODE,96
- 480 GOSUB670:PV=1:POKEPAUSE,PV:POKEYD,0
- 490 X1=(PEEK(PX)*8)+60:Y1=150:POKE53250,X1:POKE53251,Y1
- 500 SX=100:POKE53264,1:POKE53248,SX:POKE53249,120:POKE53269,3
- 510 SYSNANIM
- 520 SX=SX-1
- 530 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760
- 540 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1
- 550 IF DB=0THENSC=SC+1
- 560 IF DB=1THENSC=SC-1
- 570 IF SC=0THENDB=0
- 580 IF SC=7THENDB=1
- 590 IFPEEK(FIRE)=1THEN650
- 600 POKE53248,SX:POKE24568,SC
- 610 X1=(PEEK(PX)*8)+60
- 620 IFX1>255THENX1=X1-255:POKE53264,PEEK(53264)OR2:POKE53250,X1:GOTO640
- 630 IFX1<255THENPOKE53264,PEEK(53264)AND253:POKE53250,X1
- 640 GOTO510
- 650 POKE53269,0
- 660 END
- 670 REM INITIALISE CHARACTER ROUTINE
- 680 POKE MVE,0:POKE RILE,0
- 690 X=8:Y=8:REM COORDINATES (IN CHARACTER BLOCKS) OF START POSITION.
- 700 POKEPX,X:POKEPY,Y
- 710 SS=24576+(320*Y):POKEHL,INT(SS/256):POKELL,SS-(PEEK(HL)*256):REM EXTREME LHS
- 720 POKEHR,INT((SS+240)/256):POKELR,(SS+240)-(PEEK(HR)*256):REM EXTREME RHS
- 730 SS=SS+(8*X):POKESVLUE+1,INT(SS/256):POKESVLUE,SS-(INT(SS/256)*256)
- 740 SYS AER
- 750 RETURN
- 760 REM MSB OFF
- 770 SX=255:POKE53264,PEEK(53264)AND 254
- 780 RETURN
- 790 REM MSB ON
- 800 SX(0)=0:POKE53264,PEEK(53264)OR1
- 810 RETURN
- 820 REM INITIALISE VARIABLES
- 830 SBANK=49205:REM SET BANK
- 840 SCHBASE=49224:REM SET CHAR.BASE
- 850 RILE=49916:REM MOVING L-R OR R-L
- 860 MVE=49917:REM CHARACTER MOVE
- 870 MULTI=49152:REM MULTI COLOUR MODE
- 880 INIT=49362:REM INITIALISE HIRES CHARACTER ROUTINE
- 890 ANIM=49450:REM ANIMATION ROUTINE
- 900 PAUSE=50192:REM SLOW ROUTINE VALUE LOCATION
- 910 CLS=49235:REM SET COLOUR MEMORY
- 920 CMEM=49246:REM CLEAR MEMORY(COLOUR)LOCATION
- 930 DX=49359:REM DIRECTION OF X JOYSTICK
- 940 DY=49360:REM DIRECTION OF Y JOYSTICK
- 950 FIRE=49361:REM FIRE BUTTON PRESSED
- 960 LL=49918:REM LEFT HAND SIDE LO.BYTE
- 970 LR=49920:REM RIGHT HAND SIDE LO.BYTE
- 980 HL=49919:REM LEFT HAND SIDE HI.BYTE
- 990 HR=49921:REM RIGHT HAND SIDE HI.BYTE
- 1000 PV=16:REM PAUSE VALUE
- 1010 CB=254:REM BOTTOM OF MEMORY CLEAR VECTOR HI BYTE
- 1020 CT=50236:REM TOP OF MEMORY HI BYTE
- 1030 PX=49924:REM POSITION OF X
- 1040 PY=49925:REM POSITION OF Y
- 1050 YD=49926:REM SWITCH ON MOVEMENT IN Y AXIS
- 1060 POKEYD,1
- 1070 ABASE=51290:REM HIRES SCREEN VECTOR
- 1080 ERASE=50981:REM ERASE HIRES PIXEL
- 1090 COLOUR=50982:REM MULTI COLOUR COLOUR
- 1100 HX=50983:REM HIRES PIXEL X
- 1110 HY=50985:REM HIRES PIXEL Y
- 1120 PLOT=50901:REM PLOT HIRES PIXEL
- 1130 WIPE=49297:REM CLEAR HIRES MEMORY
- 1140 AOFF=49475:REM SWITCH OFF INTERRUPT DRIVEN CHARACTER
- 1150 NANIM=49490:REM NON INTERRUPT DRIVEN HIRES CHARACTER
- 1160 MODE=49711:REM POKEMODE,108 BEFORE USING INTERRUPT CHARACTER OTHERWISE 96
- 1170 ALOOP=49837:REM ROUTINE TO EX-OR 80*96 PIXEL BLOCK OF MEMORY
- 1180 ASTE=49890:REM ROUTINE TO STORE START VARIABLES OF BLOCK MOVE
- 1190 AER=49714:REM ROUTINE TO SET STANDING FIGURE
- 1200 SVLUE=49912:REM SCREEN POSITION OF CHARACTER.
- 1210 RETURN
-